#include <bits/stdc++.h>

#include <atcoder/all>
#define LL long long
using namespace std;
using namespace atcoder;

bool cmp(const string& a, const string& b) {
  return a + b < b + a;
}

string Concat(const vector<string>& s) {
  string ret = "";
  for (int i = 0; i < s.size(); i++) {
    ret += s[i];
  }
  return ret;
}

int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int T;
  srand(time(NULL));

  for (cin >> T; T; T--) {
    int n;

    cin >> n;

    vector<string> s(n);

    for (int i = 0; i < n; i++) {
      cin >> s[i];
    }

    random_shuffle(s.begin(), s.end());
    sort(s.begin(), s.end(), cmp);

    bool ok = false;
    for (int i = 0; i < n - 1; i++) {
      if (s[i] + s[i + 1] == s[i + 1] + s[i]) {
        ok = true;
        break;
      }
    }
    if (ok) {
      cout << Concat(s) << "\n";
    } else {
      string ans;

      swap(s[n - 2], s[n - 1]);
      ans = Concat(s);
      if (n > 2) {
        swap(s[n - 2], s[n - 1]);
        swap(s[n - 3], s[n - 2]);
        ans = min(ans, Concat(s));
      }
      cout << ans << "\n";
    }
  }
  return 0;
}